/*
 PureMVC - Copyright(c) 2006-08 Futurescale, Inc., Some rights reserved.
 Your reuse is governed by the Creative Commons Attribution 3.0 United States License
*/
package org.puremvc.as3.interfaces
{
	public interface IController
	{
		/**
		 * 注册Command到Controller中
		 * @param	notificationName
		 * @param	commandClassRef
		 */
		function registerCommand( notificationName : String, commandClassRef : Class ) : void;
		/**
		 * 执行注册的ICommand的execute
		 * @param	notification
		 */
		function executeCommand( notification : INotification ) : void;
		/**
		 * 移除Command
		 * @param	notificationName
		 */
		function removeCommand( notificationName : String ):void;
		/**
		 * 判断是否有Command
		 * @param	notificationName
		 * @return
		 */
		function hasCommand( notificationName:String ) : Boolean;
	}
}